u`
eLXgсFp.416uXMLf[^LINQv
Q[JKFG@̏oƈړAՓ˔AQ[I[o[ Ȃ

p.416iXMLƂ́j

EXML̓GNXeVu(g\)}[NAbvQ[W̗ŁAWeby[W̋LqɗpHTMLɋ߂}[NAbv
E}[NAbv͕<>ŋ񂾃^OƌĂ΂鐧^dg
EHTML̏ꍇ́AWebuEUŒ߂ꂽ^OpāAF摜}Ȃǂwł
@F <HTML><HEAD>c<BODY><b></b></BODY></HTML>
EXML̏ꍇ́AėpłA쐬҂Rɒ߂^OpāA\쐬ł
@F <?xml c ?><book><title>薼</title><bookbody>{</bookbody></book>
EāAQ[Ȃǂ̑ʂ̕pAvɂāAXML`ŕ\ႪĂ
EXML`̐̕擪sɂ<?xml version="1.0" encoding="R[h" ?>u
ER[h͎uft-8p邱Ƃ

p.416 XMLf[^LINQ

ELINQ̃NGΏۂƂXMLf[^p\
EVisual StudioɂāAL̏ƂKv
@@\[VGNXv[ŁuQƁvENbNuQƂ̒ǉv
@AuSystem.XmlvƁuSystem.Xml.Linqṽ`FbNIɂāuOKv
EOXMLt@C̓Ǎɂ́ASystem.Xml.Linq.XElementNX̐ÓI\bh XElement Load("t@C")p
@(using)F XElement x = Load("myxmlsfile.xml");
ENGłinɂāAXElementNX̃CX^X\bhElements()ŃRNV𓾂ėp
Ewhere/orderbył́AXElementNX̃CX^X\bhElement("^O")Ń^Oւ̎Q(Rei)𓾂āA
@ValuevpeBŕ󂯎
EReiXContainerNX^Ȃ̂ŁAValuevpeB
ENGʂ̎oforeachɂĂAElement("^O").Valuep

p.416 student.xml(vWFNgbin/debugtH_ɒu)

<?xml version="1.0" encoding="utf-8" ?>
<data>
  <student>
    <name>RcY</name>
    <id>100</id>
    <point>56</point>
  </student>
  <student>
    <name>`j</name>
    <id>101</id>
    <point>80</point>
  </student>
  <student>
    <name>cY</name>
    <id>102</id>
    <point>70</point>
  </student>
  <student>
    <name>gcav</name>
    <id>103</id>
    <point>95</point>
  </student>
</data>

p.417 xml01.cs

//p.417 xml01.cs
using System;
using System.Linq; //NGp 
using System.Xml.Linq; //XElementNXp
class xml01 {
  public static void Main() {
    XElement students = XElement.Load("student.xml"); //XMLt@C̓Ǎ
    var q =
        from person in students.Elements() //XMLGc
        where int.Parse(person.Element("point").Value) >= 60 //vfl̏
        orderby person.Element("point").Value descending //vflŐ(~)
        select person; //Gc𓾂ĕԂ
    foreach (var p in q) { //pXElement^ɂȂ
      Console.WriteLine("{0}, {1}, {2}",
          p.Element("name").Value, //(Rei)vfl𓾂ėp
          p.Element("point").Value,
          p.Element("id").Value);
    }
  }
}

p.419iXMLf[^ƃ_ɂLINQj

EXMLf[^ɑ΂LINQł̖⍇A\bh\ɂă_ɂƌ₷Ȃ
EF Qƕϐ.Elements().Where(x => x.Element("^O").Valuȅ).Select(x => x);

p.419 xml02.cs

//p.419 xml02.cs
using System;
using System.Linq; //NGp 
using System.Xml.Linq; //XElementNXp
class xml02 {
  public static void Main() {
    XElement Students = XElement.Load("student.xml"); //XMLt@C̓Ǎ
    var q = Students.Elements()
          .Where(x => int.Parse(x.Element("point").Value) >= 60) //_
          .OrderByDescending(x => x.Element("point").Value) //_
          .Select(x => x); //_ Value͕sv
    foreach (var p in q) {
      Console.WriteLine("{0}, {1}, {2}",
          p.Element("name").Value,
          p.Element("point").Value,
          p.Element("id").Value);
    }
  }
}

eLXg҂͈ȏł

Q[JKFG@̏oƈړAՓ˔AQ[I[o[ Ȃ

K32 G@̏oƈړ

EԊuƂɓG@@̒̏[͈͊OɏoAɈړ悤ɂ悤
EG@̍ő吔20@ƂAȏ͏oȂ
EoԊu̓^C}[C^[o50{Ƃ
Eړ5Ƃ
EeƓlɉʉŌȂȂoȌԂɖ߂
EG@̉摜͉L𗘗p\
@https://rundog.org/si/enemy.gif enemy.gif

菇Ǝdl

@ G@摜̓ǂݍ݂ǋLBImage enemyi 
A G@̍ő吔Bint maxenemy 
B G@̍\̃IuWFNgz𐶐 Item[] enemya 
C G@̏o҂Ԃ waitenemy 
D G@̏oԊu enemyint 
E `揈FSG@ɂāA\Ԃł̂\鏈
F ^C}[CxgFG@o҂Ԃ[ł΁A\łG@vf\ԂɂA
@@ƓXWA[̒YWȂǂݒ
@܂AG@̏o҂ԂɓG@̏oԊuZbg
G ^C}[CxgFSG@ɂāAֈړA[艺ɏo\ɂ
H ^C}[CxgFG@o҂ԂZbgĂJEg_E

쐬

//K32 G@̏oƈړ
using System; //tH[AvP[VɕK{
using System.Windows.Forms; //tH[AvP[VɕK{
using System.Drawing; //Imagep
struct Item { //ACe\\
    public Image i; //摜
    public int x;  //SXW
    public int y;  //SYW
    public int hv; //Ȇx(͕̐AE͐̐)
    public int vv; //㉺̑x(͕̐A͐̐)
    public int v;  //\(0F\A1ȏF\)
}
class Program : Form { //FormNXp
    [System.Runtime.InteropServices.DllImport("user32.dll")] //ODLL̃C|[g
    private static extern short GetKeyState(int nVirtKey); //\bh̊O`w
    int gamemode = 0; //0:X^[gʁA1:vC
    int score = 0; //XRA
    Image backi = Image.FromFile("backb.bmp"); //wi摜̓Ǎ
    Image playeri = Image.FromFile("player.gif"); //@摜̓Ǎ
    Image playerl = Image.FromFile("playerl.gif"); //@摜̓Ǎ
    Image playerr = Image.FromFile("playerr.gif"); //@E摜̓Ǎ
    Image bulleti = Image.FromFile("bullet.gif"); //e摜̓Ǎ
    Image bullet2i = Image.FromFile("bullet2.gif"); //e摜2̓Ǎ
    Image enemyi = Image.FromFile("enemy.gif"); //yǉzG@摜̓Ǎ
    Font font1 = new Font("CI", 20, FontStyle.Bold); //tHg𐶐(CI20P)
    Font fontt = new Font("CI", 80, FontStyle.Bold); //tHg𐶐(CI80P)
    Brush brushs = new SolidBrush(Color.Yellow); //uV𐶐(F)
    Timer timer = new Timer(); //^C}[𐶐
    int backy = 0; //wi摜̂ȂڂYW
    Item player; //vC[̍\̃IuWFNg
    static int maxpb = 10; //e̍ő吔
    static int maxenemy = 20; //yǉzG@̍ő吔
    Item[] pba = new Item[maxpb]; //e̍\̔z
    Item[] enemya = new Item[maxenemy]; //yǉzG@̍\̔z
    const int cold = 10; //e̗p
    int waitpb = 0; //eˑ҂
    int waitenemy = 0; //yǉzG@o҂
    int enemyint = 50; //yǉzG@oԊԊu
    //SWpĉ摜`
    private void DrawItem(PaintEventArgs e, Item it) {
        int xx = it.x - it.i.Width / 2; //̔čXW𓾂
        int yy = it.y - it.i.Height / 2; //̔čYW𓾂
        e.Graphics.DrawImage(it.i, xx, yy);
    }
    //`揈
    protected override void OnPaint(PaintEventArgs e) { //Form̃\bhI[o[Ch
        base.OnPaint(e); //܂AFormNXɂ郁\bh̓e({ĕ`揈)s
        e.Graphics.DrawImage(backi, 0, backy); //wi摜(0,Ȃ)`
        e.Graphics.DrawImage(backi, 0, backy - backi.Height); //wi摜̏ɕ`
        if (gamemode == 0) { //X^[g
            e.Graphics.DrawString("GAME1", fontt, brushs, 100, 100); //^Cg̕`
            e.Graphics.DrawString("Hit Enter to Start", font1, brushs, 200, 300); //bZ[W̕`
        } else if (gamemode == 1) { //vC
            string s = String.Format("SCORE:{0:000,000}", score); //XRAҏW
            e.Graphics.DrawString(s, font1, brushs, 400, 10); //XRA̕`
            switch (player.hv) { //@̌ɂĕ
                case  0: player.i = playeri; break; //ʏ
                case  1: player.i = playerr; break; //E 
                case -1: player.i = playerl; break; //
            }
            DrawItem(e, player); //@\
            foreach(var pb in pba) { //SeɂČJԂ
                if (pb.v == 1) { //eH 
                    DrawItem(e, pb); //e\
                }
            }
            foreach(var enemy in enemya) { //yȉǉzSG@ɂČJԂ
                if (enemy.v == 1) { //G@H 
                    DrawItem(e, enemy); //G@\
                }
            }
        }
    }
    //L[͎
    void OnKeyDown(object o, KeyEventArgs e) { //L[{[hꂽɌĂ΂郁\bh
        if(e.KeyCode.ToString() == "Escape") { //EscL[ꂽ
            Close(); //tH[AvP[VI
        }
        if(gamemode == 0 && e.KeyCode.ToString() == "Return") { //X^[gʂEnterL[ꂽ
            gamemode = 1; //vCʂɐ؂ւ
            timer.Start(); //^C}[Jn
            Invalidate(); //ʍĕ`˗
        }
    }
    //^C}[Cxg
    void Play(object o, EventArgs e) { //^C}[Ă΂郁\bh
        backy = (backy < backi.Height) ? backy + 1 : 0; //wi摜̂Ȃڂ
        if (gamemode == 1) { //vC
            player.hv = 0; //@̌ʏɂ
            if (player.x > playeri.Width / 2 && GetKeyState((int)Keys.Left) < 0)
            { //[ł͂ȂL[ĂH
                player.x -= 10; //@
                player.hv = -1; //Ɉړ
            }
            if (player.x < backi.Width - playeri.Width / 2 && GetKeyState((int)Keys.Right) < 0) { //E[ł͂ȂL[ĂH
                player.x += 10; //@E
                player.hv = 1; //EɈړ
            }
        }
        if (GetKeyState((int)Keys.Space) < 0) { //Xy[XL[ĂH
            if (waitpb <= 0) { //eˑ҂ԃ[(ˉ\)H
                for(int i = 0; i < maxpb; i++) { //SeɂČJԂ
                    if (pba[i].v == 0) { //e[i]\H
                        pba[i].v = 1; //\ɂ
                        pba[i].i = bulleti; //摜ݒ
                        pba[i].x = player.x; //XW͎@̒Sɍ킹
                        pba[i].y = player.y - player.i.Height / 2 - bulleti.Height / 2; //YW͎@̒ɍ킹
                        pba[i].vv = -5; //ړxݒ
                        waitpb = cold; //eˑ҂ԂZbg
                        break; //1甲
                    }
                }
            }
        } else { //Xy[XL[ĂȂH
            waitpb = 0; //eˑ҂Ԃ[(ˉ\)ɂ
        }
        if (waitenemy <= 0) { //yȉǉzG@o҂ԃ[(oˉ\)H
            for(int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
                if (enemya[i].v == 0) { //G@[i]\H
                    enemya[i].v = 1; //\ɂ
                    enemya[i].i = enemyi; //摜ݒ
                    enemya[i].x = player.x; //XW͎@̒Sɍ킹
                    enemya[i].y = -enemyi.Height; //YW͘gO
                    enemya[i].vv = 5; //ړxݒ
                    waitenemy = enemyint; //G@o҂ԂZbg
                    break; //1@o甲
                }
            }
        }
        for(int i = 0; i < maxpb; i++) { //SeɂČJԂ
            if (pba[i].v == 1) { //e[i]݂
                pba[i].i = (pba[i].i == bulleti) ? bullet2i : bulleti; //摜ݕύX
                pba[i].y += pba[i].vv; //YWɏړx𔽉f邱Ƃŏ㏸
                if (pba[i].y + bulleti.Height / 2 < 0) { //ʏ[ɏo
                    pba[i].v = 0; //e[i]
                }
            }
        }
        for(int i = 0; i < maxenemy; i++) { //yȉǉzSG@ɂČJԂ
            if (enemya[i].v == 1) { //G@[i]݂
                enemya[i].y += enemya[i].vv; //YWɉړx𔽉f邱Ƃŉ~
                if (enemya[i].y + bulleti.Height / 2 > backi.Height) { //ʉ[艺ɏo
                    enemya[i].v = 0; //G@[i]
                }
            }
        }
        if (waitpb > 0) { //eˑ҂ԂZbgĂ(҂)H
            waitpb--; //JEg_E
        }
        if (waitenemy > 0) { //yȉǉzG@o҂ԂZbgĂ(҂)H
            waitenemy--; //JEg_E
        }
        Invalidate(); //ʍĕ`˗
    }
    //RXgN^
    Program() { 
        DoubleBuffered = true; //_uobt@O̓
        KeyDown += new KeyEventHandler(OnKeyDown); //L[{[hꂽɌĂ΂郁\bho^
        timer.Tick += new EventHandler(Play); //^C}[Ă΂郁\bho^
        timer.Interval = 10; //^C}[̊Ԋu
        player.i = playeri; //@̉摜
        player.x = 320; //@XW
        player.y = 410; //@YW
        player.hv = 0; //@̍Ȇx
    }
    static void Main() { //public̎w͔C
        Program f = new Program(); //ptH[̃CX^X𐶐
        f.Size = new Size(660, 520); //CX^XSizevpeBɍƕ
        f.Text = "Game"; //CX^XTextvpeBɃtH[
        f.ControlBox = false; //ControlBox\ɂ
        f.FormBorderStyle = FormBorderStyle.Fixed3D; //tH[TCYύX֎~
        Application.Run(f); //CX^Xʂɏo
    }
}

e[}30 Փ˔

E`ilp`j̏Փ˔͏dȂĂ镔̗Lłł邪A`ȊOɗpƁApɂ镔ŉߓx̔ɂȂĂ܂
Ȅꍇ́Aȉ~`̏Փ˔pƗǂ
Eȉ~`̏Փ˔ł́Ao̒SԂ̋𓾂āAꂪo̓a̘aՓ˂ĂƂ݂Ȃ
ESԂ͎̋O̒藝ŋ߂邪Ar邾ȂA𓾂Kv͂ȂA
@uXW̍̂Q{YW̍̂Q < a̘âQvƔrΗǂ
@http://ha232.rundog.org/wp-content/uploads/2024/02/908f84303f68d13037495fed5c6bdfd0.png
Ea͉摜̍Ɖ摜̉̏̔Ƃ

private static bool isHit(int x1, int y1, Imagei i1, int x2, int y2, Image i2) {
  int xc1 = x1 + i1.Height / 2, xc2 = x2 + i2.Height / 2; //SXW𓾂
  int yc1 = y1 + i1.Width  / 2; yc2 = y2 + i2.Width  / 2; //SYW𓾂
  int dest =  (xc1 - xc2) * (xc1 - xc2) + (yc1 - yc2) * (yc1 - yc2); //̎a
  double r1 = (i1.Width < i1.Height) ? i1.Width / 2.0 : i1.Height / 2.0; //摜@̓a
  double r2 = (i2.Width < i2.Height) ? i2.Width / 2.0 : i2.Height / 2.0; //摜A̓a
  return dest < (r1 + r2) * (r1 + r2); //̎悪a̘a̎菬Ԃ
}

K33 eƓG@̏Փ˔

E^C}[CxgɂāAoĂSĂ̎eƓG@̑gɂāAȉ~`̏Փ˔s
EՓ˂ĂA̎eƓG@̗\ɂ
E^C}[ŌĂ΂鏈ɂāAȏSĂ̓G@ƑSĂ̎ȇgݍ킹ɂāAՓ˔sA
@Փ˂ĂA̓G@Ǝe̗\ɂ悤

菇Ǝdl

@ Փ˔p̃\bh bool isHit(Item a, Item b)
@EabXŴQYŴQ̘a𓾂ċ̂QƂ
@Ea̕Ȃ畝̔AłȂ΍̔aaƂ
@Eb̕Ȃ畝̔AłȂ΍̔abƂ
@ÊQ悪AaaƓab̘âQ斢ȂtrueAłȂfalseԂ
A ^C}[Cxgɂđݒ̑SG@ɂĈȉJԂ
@Eݒ̑SeɂāA̓G@ƏՓ˒`FbNAՓ˒Ȃo\ɂ
@EāA̓G@ɐi

쐬

//K33 eƓG@̏Փ˔
using System; //tH[AvP[VɕK{
using System.Windows.Forms; //tH[AvP[VɕK{
using System.Drawing; //Imagep
struct Item { //ACe\\
    public Image i; //摜
    public int x;  //SXW
    public int y;  //SYW
    public int hv; //Ȇx(͕̐AE͐̐)
    public int vv; //㉺̑x(͕̐A͐̐)
    public int v;  //\(0F\A1ȏF\)
}
class Program : Form { //FormNXp
    [System.Runtime.InteropServices.DllImport("user32.dll")] //ODLL̃C|[g
    private static extern short GetKeyState(int nVirtKey); //\bh̊O`w
    int gamemode = 0; //0:X^[gʁA1:vC
    int score = 0; //XRA
    Image backi = Image.FromFile("backb.bmp"); //wi摜̓Ǎ
    Image playeri = Image.FromFile("player.gif"); //@摜̓Ǎ
    Image playerl = Image.FromFile("playerl.gif"); //@摜̓Ǎ
    Image playerr = Image.FromFile("playerr.gif"); //@E摜̓Ǎ
    Image bulleti = Image.FromFile("bullet.gif"); //e摜̓Ǎ
    Image bullet2i = Image.FromFile("bullet2.gif"); //e摜2̓Ǎ
    Image enemyi = Image.FromFile("enemy.gif"); //e摜2̓Ǎ
    Font font1 = new Font("CI", 20, FontStyle.Bold); //tHg𐶐(CI20P)
    Font fontt = new Font("CI", 80, FontStyle.Bold); //tHg𐶐(CI80P)
    Brush brushs = new SolidBrush(Color.Yellow); //uV𐶐(F)
    Timer timer = new Timer(); //^C}[𐶐
    int backy = 0; //wi摜̂ȂڂYW
    Item player; //vC[̍\̃IuWFNg
    static int maxpb = 10; //e̍ő吔
    static int maxenemy = 20; //G@̍ő吔
    Item[] pba = new Item[maxpb]; //e̍\̔z
    Item[] enemya = new Item[maxenemy]; //G@̍\̔z
    const int cold = 10; //e̗p
    int waitpb = 0; //eˑ҂
    int waitenemy = 0; //G@o҂
    int enemyint = 50; //G@oԊԊu
    //SWpĉ摜`
    private void DrawItem(PaintEventArgs e, Item it) {
        int xx = it.x - it.i.Width / 2; //̔čXW𓾂
        int yy = it.y - it.i.Height / 2; //̔čYW𓾂
        e.Graphics.DrawImage(it.i, xx, yy);
    }
    //yȉǉzՓ˔iItem aItem bՓ˂Ă邩ǂԂ)
    private bool isHit(Item a, Item b) {
        int dest = (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y); //̂Q
        double ra = (a.i.Width < a.i.Height) ? a.i.Width / 2 : a.i.Height / 2; //a̓a
        double rb = (b.i.Width < b.i.Height) ? b.i.Width / 2 : b.i.Height / 2; //b̓a
        return dest < (ra + rb) * (ra + rb); //̂Q悪a̘âQ菬ȂՓ
    }
    //`揈
    protected override void OnPaint(PaintEventArgs e) { //Form̃\bhI[o[Ch
        base.OnPaint(e); //܂AFormNXɂ郁\bh̓e({ĕ`揈)s
        e.Graphics.DrawImage(backi, 0, backy); //wi摜(0,Ȃ)`
        e.Graphics.DrawImage(backi, 0, backy - backi.Height); //wi摜̏ɕ`
        if (gamemode == 0) { //X^[g
            e.Graphics.DrawString("GAME1", fontt, brushs, 100, 100); //^Cg̕`
            e.Graphics.DrawString("Hit Enter to Start", font1, brushs, 200, 300); //bZ[W̕`
        } else if (gamemode == 1) { //vC
            string s = String.Format("SCORE:{0:000,000}", score); //XRAҏW
            e.Graphics.DrawString(s, font1, brushs, 400, 10); //XRA̕`
            switch (player.hv) { //@̌ɂĕ
                case  0: player.i = playeri; break; //ʏ
                case  1: player.i = playerr; break; //E 
                case -1: player.i = playerl; break; //
            }
            DrawItem(e, player); //@\
            foreach(var pb in pba) { //SeɂČJԂ
                if (pb.v == 1) { //eH 
                    DrawItem(e, pb); //e\
                }
            }
            foreach(var enemy in enemya) { //SG@ɂČJԂ
                if (enemy.v == 1) { //G@H 
                    DrawItem(e, enemy); //G@\
                }
            }
        }
    }
    //L[͎
    void OnKeyDown(object o, KeyEventArgs e) { //L[{[hꂽɌĂ΂郁\bh
        if(e.KeyCode.ToString() == "Escape") { //EscL[ꂽ
            Close(); //tH[AvP[VI
        }
        if(gamemode == 0 && e.KeyCode.ToString() == "Return") { //X^[gʂEnterL[ꂽ
            gamemode = 1; //vCʂɐ؂ւ
            timer.Start(); //^C}[Jn
            Invalidate(); //ʍĕ`˗
        }
    }
    //^C}[Cxg
    void Play(object o, EventArgs e) { //^C}[Ă΂郁\bh
        backy = (backy < backi.Height) ? backy + 1 : 0; //wi摜̂Ȃڂ
        if (gamemode == 1) { //vC
            player.hv = 0; //@̌ʏɂ
            if (player.x > playeri.Width / 2 && GetKeyState((int)Keys.Left) < 0)
            { //[ł͂ȂL[ĂH
                player.x -= 10; //@
                player.hv = -1; //Ɉړ
            }
            if (player.x < backi.Width - playeri.Width / 2 && GetKeyState((int)Keys.Right) < 0) { //E[ł͂ȂL[ĂH
                player.x += 10; //@E
                player.hv = 1; //EɈړ
            }
        }
        for(int i = 0; i < maxenemy; i++) { //yȉǉzSG@ɂČJԂ
            if (enemya[i].v != 0) { //G@[i]݁H
                for(int j = 0; j < maxpb; j++) { //SeɂČJԂ
                    if (pba[j].v == 1 && isHit(enemya[i], pba[j])) { //e[j]ՓˁH
                        enemya[i].v = 0; //G@[i]
                        pba[j].v = 0; //e[j]
                        break; //̓G@ɐi
                    }
                }
            }
        }
        if (GetKeyState((int)Keys.Space) < 0) { //Xy[XL[ĂH
            if (waitpb <= 0) { //eˑ҂ԃ[(ˉ\)H
                for(int i = 0; i < maxpb; i++) { //SeɂČJԂ
                    if (pba[i].v == 0) { //e[i]\H
                        pba[i].v = 1; //\ɂ
                        pba[i].i = bulleti; //摜ݒ
                        pba[i].x = player.x; //XW͎@̒Sɍ킹
                        pba[i].y = player.y - player.i.Height / 2 - bulleti.Height / 2; //YW͎@̒ɍ킹
                        pba[i].vv = -5; //ړxݒ
                        waitpb = cold; //eˑ҂ԂZbg
                        break; //1甲
                    }
                }
            }
        } else { //Xy[XL[ĂȂH
            waitpb = 0; //eˑ҂Ԃ[(ˉ\)ɂ
        }
        if (waitenemy <= 0) { //G@o҂ԃ[(oˉ\)H
            for(int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
                if (enemya[i].v == 0) { //G@[i]\H
                    enemya[i].v = 1; //\ɂ
                    enemya[i].i = enemyi; //摜ݒ
                    enemya[i].x = player.x; //XW͎@̒Sɍ킹
                    enemya[i].y = -enemyi.Height; //YW͘gO
                    enemya[i].vv = 5; //ړxݒ
                    waitenemy = enemyint; //G@o҂ԂZbg
                    break; //1@o甲
                }
            }
        }
        for(int i = 0; i < maxpb; i++) { //SeɂČJԂ
            if (pba[i].v == 1) { //e[i]݂
                pba[i].i = (pba[i].i == bulleti) ? bullet2i : bulleti; //摜ݕύX
                pba[i].y += pba[i].vv; //YWɏړx𔽉f邱Ƃŏ㏸
                if (pba[i].y + bulleti.Height / 2 < 0) { //ʏ[ɏo
                    pba[i].v = 0; //e[i]
                }
            }
        }
        for(int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
            if (enemya[i].v == 1) { //G@[i]݂
                enemya[i].y += enemya[i].vv; //YWɉړx𔽉f邱Ƃŉ~
                if (enemya[i].y + bulleti.Height / 2 > backi.Height) { //ʉ[艺ɏo
                    enemya[i].v = 0; //G@[i]
                }
            }
        }
        if (waitpb > 0) { //eˑ҂ԂZbgĂ(҂)H
            waitpb--; //JEg_E
        }
        if (waitenemy > 0) { //G@o҂ԂZbgĂ(҂)H
            waitenemy--; //JEg_E
        }
        Invalidate(); //ʍĕ`˗
    }
    //RXgN^
    Program() { 
        DoubleBuffered = true; //_uobt@O̓
        KeyDown += new KeyEventHandler(OnKeyDown); //L[{[hꂽɌĂ΂郁\bho^
        timer.Tick += new EventHandler(Play); //^C}[Ă΂郁\bho^
        timer.Interval = 10; //^C}[̊Ԋu
        player.i = playeri; //@̉摜
        player.x = 320; //@XW
        player.y = 410; //@YW
        player.hv = 0; //@̍Ȇx
    }
    static void Main() { //public̎w͔C
        Program f = new Program(); //ptH[̃CX^X𐶐
        f.Size = new Size(660, 520); //CX^XSizevpeBɍƕ
        f.Text = "Game"; //CX^XTextvpeBɃtH[
        f.ControlBox = false; //ControlBox\ɂ
        f.FormBorderStyle = FormBorderStyle.Fixed3D; //tH[TCYύX֎~
        Application.Run(f); //CX^Xʂɏo
    }
}

K34 @ƓG@̏Փ˔ƃQ[I[o[

E@ƓG@Փ˂玩@Ƃ̓G@
EāAQ[I[o[ƂAQ[I[o[ʂɑJڂ悤
EQ[I[o[ʂłwĩXN[G@̏o͑̂Ƃ
EA@̈ړ⎩e̔˂͂łȂ悤ɂ
EEnterL[ꂽAvCł悤ɂ悤

菇Ǝdl

@ef[^Q[Jn̒lɂ郁\bh void initData() ǉ
@Ώۂ̓RXgN^ɂLړF
        player.i = playeri;  //@̉摜
        player.x = 320; //@̒SXW
        player.y = 410; //@̒SYW
        player.hv = 0;  //@̍Ȇx
@ĉLǉF
        player.v = 1;  //@\
        waitpb = 0; //e˂̑҂
        waitenemy = 0; //G@ȏ҂
A`揈FvCʂɂĕ\Ă̂̓Q[I[o[ʂł\
B`揈F@̌ɂĕ򂷂鏈ƁA@`悷鏈́A@\Ԃ݂̎̂ɂ
C`揈FQ[I[o[ɁuGAME OVERv(210,150)25|Cgŕ\A
@uHit Enter Keyv(200,300)25|Cgŕ\
DL[͎F^CgʂEnterL[ĂA@ĂłQ[[h1ɂ
EL[͎FQ[I[o[ʂEnterL[ĂA@ĂсASG@ƑSe\ɂAQ[[h1ɂ鏈ǉ
F^C}[CxgFXy[XL[̃`FbN̓vCʂ݂̎̂ɂ
G^C}[CxgFSG@ɂĎeƂ̏Փ˔OɁA@Ƃ̏Փ˔sAՓ˂Ă玩@AQ[[h9ɂĔ鏈ǉ

쐬

//K34 @ƓG@̏Փ˔ƃQ[I[o[
using System; //tH[AvP[VɕK{
using System.Windows.Forms; //tH[AvP[VɕK{
using System.Drawing; //Imagep
struct Item { //ACe\\
    public Image i; //摜
    public int x;  //SXW
    public int y;  //SYW
    public int hv; //Ȇx(͕̐AE͐̐)
    public int vv; //㉺̑x(͕̐A͐̐)
    public int v;  //\(0F\A1ȏF\)
}
class Program : Form { //FormNXp
    [System.Runtime.InteropServices.DllImport("user32.dll")] //ODLL̃C|[g
    private static extern short GetKeyState(int nVirtKey); //\bh̊O`w
    int gamemode = 0; //0:X^[gʁA1:vC
    int score = 0; //XRA
    Image backi = Image.FromFile("backb.bmp"); //wi摜̓Ǎ
    Image playeri = Image.FromFile("player.gif"); //@摜̓Ǎ
    Image playerl = Image.FromFile("playerl.gif"); //@摜̓Ǎ
    Image playerr = Image.FromFile("playerr.gif"); //@E摜̓Ǎ
    Image bulleti = Image.FromFile("bullet.gif"); //e摜̓Ǎ
    Image bullet2i = Image.FromFile("bullet2.gif"); //e摜2̓Ǎ
    Image enemyi = Image.FromFile("enemy.gif"); //e摜2̓Ǎ
    Font font1 = new Font("CI", 20, FontStyle.Bold); //tHg𐶐(CI20P)
    Font fontm = new Font("CI", 25, FontStyle.Bold); //yǉztHg𐶐(CI25P)
    Font fontt = new Font("CI", 80, FontStyle.Bold); //tHg𐶐(CI80P)
    Brush brushs = new SolidBrush(Color.Yellow); //uV𐶐(F)
    Timer timer = new Timer(); //^C}[𐶐
    int backy = 0; //wi摜̂ȂڂYW
    Item player; //vC[̍\̃IuWFNg
    static int maxpb = 10; //e̍ő吔
    static int maxenemy = 20; //G@̍ő吔
    Item[] pba = new Item[maxpb]; //e̍\̔z
    Item[] enemya = new Item[maxenemy]; //G@̍\̔z
    const int cold = 10; //e̗p
    int waitpb = 0; //eˑ҂
    int waitenemy = 0; //G@o҂
    int enemyint = 50; //G@oԊԊu
    //yȉǉziQ[JnƃQ[ĊJɗpj
    private void initData() {
        player.i = playeri;  //@̉摜
        player.x = 320; //@̒SXW
        player.y = 410; //@̒SYW
        player.hv = 0;  //@̍Ȇx
        player.v = 1;  //@\
        waitpb = 0; //e˂̑҂
        waitenemy = 0; //G@ȏ҂
    }
    //SWpĉ摜`
    private void DrawItem(PaintEventArgs e, Item it) {
        int xx = it.x - it.i.Width / 2; //̔čXW𓾂
        int yy = it.y - it.i.Height / 2; //̔čYW𓾂
        e.Graphics.DrawImage(it.i, xx, yy);
    }
    //Փ˔iItem aItem bՓ˂Ă邩ǂԂ)
    private bool isHit(Item a, Item b) {
        int dest = (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y); //̂Q
        double ra = (a.i.Width < a.i.Height) ? a.i.Width / 2 : a.i.Height / 2; //a̓a
        double rb = (b.i.Width < b.i.Height) ? b.i.Width / 2 : b.i.Height / 2; //b̓a
        return dest < (ra + rb) * (ra + rb); //̂Q悪a̘âQ菬ȂՓ
    }
    //`揈
    protected override void OnPaint(PaintEventArgs e) { //Form̃\bhI[o[Ch
        base.OnPaint(e); //܂AFormNXɂ郁\bh̓e({ĕ`揈)s
        e.Graphics.DrawImage(backi, 0, backy); //wi摜(0,Ȃ)`
        e.Graphics.DrawImage(backi, 0, backy - backi.Height); //wi摜̏ɕ`
        if (gamemode == 0) { //X^[g
            e.Graphics.DrawString("GAME1", fontt, brushs, 100, 100); //^Cg̕`
            e.Graphics.DrawString("Hit Enter to Start", font1, brushs, 200, 300); //bZ[W̕`
        } else { //yύXzvCʂƃQ[I[o[
            string s = String.Format("SCORE:{0:000,000}", score); //XRAҏW
            e.Graphics.DrawString(s, font1, brushs, 400, 10); //XRA̕`
            if (gamemode == 1) { //yǉzvCʂ̂
                switch (player.hv) { //@̌ɂĕ
                    case  0: player.i = playeri; break; //ʏ
                    case  1: player.i = playerr; break; //E 
                    case -1: player.i = playerl; break; //
                }
                DrawItem(e, player); //@\
            }
            foreach(var pb in pba) { //SeɂČJԂ
                if (pb.v == 1) { //eH 
                    DrawItem(e, pb); //e\
                }
            }
            foreach(var enemy in enemya) { //SG@ɂČJԂ
                if (enemy.v == 1) { //G@H 
                    DrawItem(e, enemy); //G@\
                }
            }
        }
        if (gamemode == 9) { //yȉǉzQ[I[o[
            e.Graphics.DrawString("GAME OVER", fontm, brushs, 210, 150); //bZ[W̕`
            e.Graphics.DrawString("Hit Enter Key", fontm, brushs, 200, 300); //bZ[W̕`
        }
    }
    //L[͎
    void OnKeyDown(object o, KeyEventArgs e) { //L[{[hꂽɌĂ΂郁\bh
        if(e.KeyCode.ToString() == "Escape") { //EscL[ꂽ
            Close(); //tH[AvP[VI
        }
        if(gamemode == 0 && e.KeyCode.ToString() == "Return") { //X^[gʂEnterL[ꂽ
            initData(); //yǉzef[^Jn̒l
            gamemode = 1; //vCʂɐ؂ւ
            timer.Start(); //^C}[Jn
        } else if (gamemode == 9 && e.KeyCode.ToString() == "Return") { //yȉǉzQ[I[o[ʂEnterL[ꂽ
            initData(); //ef[^Jn̒l
            for (int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
                enemya[i].v = 0; //G@[i]
            }            
            for (int i = 0; i < maxpb; i++) { //SeɂČJԂ
                pba[i].v = 0; //e[i]
            }
            gamemode = 1; //vCʂ
        }
        Invalidate(); //yړzʍĕ`˗
    }
    //^C}[Cxg
    void Play(object o, EventArgs e) { //^C}[Ă΂郁\bh
        backy = (backy < backi.Height) ? backy + 1 : 0; //wi摜̂Ȃڂ
        if (gamemode == 1) { //vC
            player.hv = 0; //@̌ʏɂ
            if (player.x > playeri.Width / 2 && GetKeyState((int)Keys.Left) < 0)
            { //[ł͂ȂL[ĂH
                player.x -= 10; //@
                player.hv = -1; //Ɉړ
            }
            if (player.x < backi.Width - playeri.Width / 2 && GetKeyState((int)Keys.Right) < 0) { //E[ł͂ȂL[ĂH
                player.x += 10; //@E
                player.hv = 1; //EɈړ
            }
        }
        for(int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
            if (enemya[i].v != 0) { //G@[i]݁H
                if (player.v != 0 && isHit(enemya[i], player)) { //yȉǉz@ՓˁH
                    player.v = 0; //@
                    gamemode = 9; //Q[I[o[ɂ
                    break; //JԂ𔲂
                }
                for(int j = 0; j < maxpb; j++) { //SeɂČJԂ
                    if (pba[j].v == 1 && isHit(enemya[i], pba[j])) { //e[j]ՓˁH
                        enemya[i].v = 0; //G@[i]
                        pba[j].v = 0; //e[j]
                        break; //̓G@ɐi
                    }
                }
            }
        }
        if (gamemode == 1) { //yǉzvCʂȂ
            if (GetKeyState((int)Keys.Space) < 0) { //Xy[XL[ĂH
                if (waitpb <= 0) { //eˑ҂ԃ[(ˉ\)H
                    for(int i = 0; i < maxpb; i++) { //SeɂČJԂ
                        if (pba[i].v == 0) { //e[i]\H
                            pba[i].v = 1; //\ɂ
                            pba[i].i = bulleti; //摜ݒ
                            pba[i].x = player.x; //XW͎@̒Sɍ킹
                            pba[i].y = player.y - player.i.Height / 2 - bulleti.Height / 2; //YW͎@̒ɍ킹
                            pba[i].vv = -5; //ړxݒ
                            waitpb = cold; //eˑ҂ԂZbg
                            break; //1甲
                        }
                    }
                }
            } else { //Xy[XL[ĂȂH
                waitpb = 0; //eˑ҂Ԃ[(ˉ\)ɂ
            }
        }
        if (waitenemy <= 0) { //G@o҂ԃ[(oˉ\)H
            for(int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
                if (enemya[i].v == 0) { //G@[i]\H
                    enemya[i].v = 1; //\ɂ
                    enemya[i].i = enemyi; //摜ݒ
                    enemya[i].x = player.x; //XW͎@̒Sɍ킹
                    enemya[i].y = -enemyi.Height; //YW͘gO
                    enemya[i].vv = 5; //ړxݒ
                    waitenemy = enemyint; //G@o҂ԂZbg
                    break; //1@o甲
                }
            }
        }
        for(int i = 0; i < maxpb; i++) { //SeɂČJԂ
            if (pba[i].v == 1) { //e[i]݂
                pba[i].i = (pba[i].i == bulleti) ? bullet2i : bulleti; //摜ݕύX
                pba[i].y += pba[i].vv; //YWɏړx𔽉f邱Ƃŏ㏸
                if (pba[i].y + bulleti.Height / 2 < 0) { //ʏ[ɏo
                    pba[i].v = 0; //e[i]
                }
            }
        }
        for(int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
            if (enemya[i].v == 1) { //G@[i]݂
                enemya[i].y += enemya[i].vv; //YWɉړx𔽉f邱Ƃŉ~
                if (enemya[i].y + bulleti.Height / 2 > backi.Height) { //ʉ[艺ɏo
                    enemya[i].v = 0; //G@[i]
                }
            }
        }
        if (waitpb > 0) { //eˑ҂ԂZbgĂ(҂)H
            waitpb--; //JEg_E
        }
        if (waitenemy > 0) { //G@o҂ԂZbgĂ(҂)H
            waitenemy--; //JEg_E
        }
        Invalidate(); //ʍĕ`˗
    }
    //RXgN^
    Program() { 
        DoubleBuffered = true; //_uobt@O̓
        KeyDown += new KeyEventHandler(OnKeyDown); //L[{[hꂽɌĂ΂郁\bho^
        timer.Tick += new EventHandler(Play); //^C}[Ă΂郁\bho^
        timer.Interval = 10; //^C}[̊Ԋu
        //player.i = playeri; //y폜z@̉摜
        //player.x = 320; //y폜z@XW
        //player.y = 410; //y폜z@YW
        //player.hv = 0; //y폜z@̍Ȇx
    }
    static void Main() { //public̎w͔C
        Program f = new Program(); //ptH[̃CX^X𐶐
        f.Size = new Size(660, 520); //CX^XSizevpeBɍƕ
        f.Text = "Game"; //CX^XTextvpeBɃtH[
        f.ControlBox = false; //ControlBox\ɂ
        f.FormBorderStyle = FormBorderStyle.Fixed3D; //tH[TCYύX֎~
        Application.Run(f); //CX^Xʂɏo
    }
}

K35 XRAAbv

EG@Ɏe+10_Ƃ悤
EXRA̓Q[I[o[ʂEnterL[ꂽ[ɂ悤
EnCXRAێĂAGAME OVERʂŃnCXRA𒴂uHiSCORE Update !!vƕ\悤
EnCXRAȉȂuHiSCORE is 000,000(_)vƕ\悤

菇Ǝdl

@f[^oFnCXRApϐ int hiscore0ŏ
Af[^oFnCXRAbZ[Wpϐ string hiscoremes""ŏ
BFXRA score 0ɖ߂ǉ
C`揈FnCXRAbZ[W hiscoremes150C200`悷鏈ǉ
D^C}[CxgFG@Ǝ@Փ˂AnCXRAXV`FbNB
@XVĂnCXRAbZ[W hiscoremes"HiSCORE Update !!"B
@ĂȂ΃nCXRAbZ[W hiscoremes"HiSCORE is {0:000,000}", hiscoreB
E^C}[CxgFG@ƎeՓ˂AXRA10Z

쐬

//K35 XRAAbv
using System; //tH[AvP[VɕK{
using System.Windows.Forms; //tH[AvP[VɕK{
using System.Drawing; //Imagep
struct Item { //ACe\\
    public Image i; //摜
    public int x;  //SXW
    public int y;  //SYW
    public int hv; //Ȇx(͕̐AE͐̐)
    public int vv; //㉺̑x(͕̐A͐̐)
    public int v;  //\(0F\A1ȏF\)
}
class Program : Form { //FormNXp
    [System.Runtime.InteropServices.DllImport("user32.dll")] //ODLL̃C|[g
    private static extern short GetKeyState(int nVirtKey); //\bh̊O`w
    int gamemode = 0; //0:X^[gʁA1:vC
    int score = 0; //XRA
    int hiscore = 0; //yǉznCXRA
    string hiscoremes = ""; //yǉznCXRAbZ[W
    Image backi = Image.FromFile("backb.bmp"); //wi摜̓Ǎ
    Image playeri = Image.FromFile("player.gif"); //@摜̓Ǎ
    Image playerl = Image.FromFile("playerl.gif"); //@摜̓Ǎ
    Image playerr = Image.FromFile("playerr.gif"); //@E摜̓Ǎ
    Image bulleti = Image.FromFile("bullet.gif"); //e摜̓Ǎ
    Image bullet2i = Image.FromFile("bullet2.gif"); //e摜2̓Ǎ
    Image enemyi = Image.FromFile("enemy.gif"); //e摜2̓Ǎ
    Font font1 = new Font("CI", 20, FontStyle.Bold); //tHg𐶐(CI20P)
    Font fontm = new Font("CI", 25, FontStyle.Bold); //tHg𐶐(CI25P)
    Font fontt = new Font("CI", 80, FontStyle.Bold); //tHg𐶐(CI80P)
    Brush brushs = new SolidBrush(Color.Yellow); //uV𐶐(F)
    Timer timer = new Timer(); //^C}[𐶐
    int backy = 0; //wi摜̂ȂڂYW
    Item player; //vC[̍\̃IuWFNg
    static int maxpb = 10; //e̍ő吔
    static int maxenemy = 20; //G@̍ő吔
    Item[] pba = new Item[maxpb]; //e̍\̔z
    Item[] enemya = new Item[maxenemy]; //G@̍\̔z
    const int cold = 10; //e̗p
    int waitpb = 0; //eˑ҂
    int waitenemy = 0; //G@o҂
    int enemyint = 50; //G@oԊԊu
    //iQ[JnƃQ[ĊJɗpj
    private void initData() {
        player.i = playeri;  //@̉摜
        player.x = 320; //@̒SXW
        player.y = 410; //@̒SYW
        player.hv = 0;  //@̍Ȇx
        player.v = 1;  //@\
        waitpb = 0; //e˂̑҂
        waitenemy = 0; //G@ȏ҂
        score = 0; //yǉzXRA
    }
    //SWpĉ摜`
    private void DrawItem(PaintEventArgs e, Item it) {
        int xx = it.x - it.i.Width / 2; //̔čXW𓾂
        int yy = it.y - it.i.Height / 2; //̔čYW𓾂
        e.Graphics.DrawImage(it.i, xx, yy);
    }
    //Փ˔iItem aItem bՓ˂Ă邩ǂԂ)
    private bool isHit(Item a, Item b) {
        int dest = (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y); //̂Q
        double ra = (a.i.Width < a.i.Height) ? a.i.Width / 2 : a.i.Height / 2; //a̓a
        double rb = (b.i.Width < b.i.Height) ? b.i.Width / 2 : b.i.Height / 2; //b̓a
        return dest < (ra + rb) * (ra + rb); //̂Q悪a̘âQ菬ȂՓ
    }
    //`揈
    protected override void OnPaint(PaintEventArgs e) { //Form̃\bhI[o[Ch
        base.OnPaint(e); //܂AFormNXɂ郁\bh̓e({ĕ`揈)s
        e.Graphics.DrawImage(backi, 0, backy); //wi摜(0,Ȃ)`
        e.Graphics.DrawImage(backi, 0, backy - backi.Height); //wi摜̏ɕ`
        if (gamemode == 0) { //X^[g
            e.Graphics.DrawString("GAME1", fontt, brushs, 100, 100); //^Cg̕`
            e.Graphics.DrawString("Hit Enter to Start", font1, brushs, 200, 300); //bZ[W̕`
        } else { //vCʂƃQ[I[o[
            string s = String.Format("SCORE:{0:000,000}", score); //XRAҏW
            e.Graphics.DrawString(s, font1, brushs, 400, 10); //XRA̕`
            if (gamemode == 1) { //yǉzvCʂ̂
                switch (player.hv) { //@̌ɂĕ
                    case  0: player.i = playeri; break; //ʏ
                    case  1: player.i = playerr; break; //E 
                    case -1: player.i = playerl; break; //
                }
                DrawItem(e, player); //@\
            }
            foreach(var pb in pba) { //SeɂČJԂ
                if (pb.v == 1) { //eH 
                    DrawItem(e, pb); //e\
                }
            }
            foreach(var enemy in enemya) { //SG@ɂČJԂ
                if (enemy.v == 1) { //G@H 
                    DrawItem(e, enemy); //G@\
                }
            }
        }
        if (gamemode == 9) { //Q[I[o[
            e.Graphics.DrawString("GAME OVER", fontm, brushs, 210, 150); //bZ[W̕`
            e.Graphics.DrawString(hiscoremes, fontm, brushs, 150, 200); //yǉznCXRAbZ[W̕`
            e.Graphics.DrawString("Hit Enter Key", fontm, brushs, 200, 300); //bZ[W̕`
        }
    }
    //L[͎
    void OnKeyDown(object o, KeyEventArgs e) { //L[{[hꂽɌĂ΂郁\bh
        if(e.KeyCode.ToString() == "Escape") { //EscL[ꂽ
            Close(); //tH[AvP[VI
        }
        if(gamemode == 0 && e.KeyCode.ToString() == "Return") { //X^[gʂEnterL[ꂽ
            initData(); //ef[^Jn̒l
            gamemode = 1; //vCʂɐ؂ւ
            timer.Start(); //^C}[Jn
        } else if (gamemode == 9 && e.KeyCode.ToString() == "Return") { //Q[I[o[ʂEnterL[ꂽ
            initData(); //ef[^Jn̒l
            for (int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
                enemya[i].v = 0; //G@[i]
            }            
            for (int i = 0; i < maxpb; i++) { //SeɂČJԂ
                pba[i].v = 0; //e[i]
            }
            gamemode = 1; //vCʂ
        }
        Invalidate(); //ʍĕ`˗
    }
    //^C}[Cxg
    void Play(object o, EventArgs e) { //^C}[Ă΂郁\bh
        backy = (backy < backi.Height) ? backy + 1 : 0; //wi摜̂Ȃڂ
        if (gamemode == 1) { //vC
            player.hv = 0; //@̌ʏɂ
            if (player.x > playeri.Width / 2 && GetKeyState((int)Keys.Left) < 0)
            { //[ł͂ȂL[ĂH
                player.x -= 10; //@
                player.hv = -1; //Ɉړ
            }
            if (player.x < backi.Width - playeri.Width / 2 && GetKeyState((int)Keys.Right) < 0) { //E[ł͂ȂL[ĂH
                player.x += 10; //@E
                player.hv = 1; //EɈړ
            }
        }
        for(int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
            if (enemya[i].v != 0) { //G@[i]݁H
                if (player.v != 0 && isHit(enemya[i], player)) { //@ՓˁH
                    player.v = 0; //@
                    gamemode = 9; //Q[I[o[ɂ
                    if (score > hiscore) { //yȉǉznCXRAXVH
                        hiscore = score; //nCXRAXV
                        hiscoremes = "HiSCORE Update !!";
                    } else { //XVĂȂ
                        hiscoremes = String.Format("HiSCORE is {0:000,000}", hiscore);
                    }
                    break; //JԂ𔲂
                }
                for(int j = 0; j < maxpb; j++) { //SeɂČJԂ
                    if (pba[j].v == 1 && isHit(enemya[i], pba[j])) { //e[j]ՓˁH
                        enemya[i].v = 0; //G@[i]
                        pba[j].v = 0; //e[j]
                        score += 10; //yǉzXRAAbv
                        break; //̓G@ɐi
                    }
                }
            }
        }
        if (gamemode == 1) { //vCʂȂ
            if (GetKeyState((int)Keys.Space) < 0) { //Xy[XL[ĂH
                if (waitpb <= 0) { //eˑ҂ԃ[(ˉ\)H
                    for(int i = 0; i < maxpb; i++) { //SeɂČJԂ
                        if (pba[i].v == 0) { //e[i]\H
                            pba[i].v = 1; //\ɂ
                            pba[i].i = bulleti; //摜ݒ
                            pba[i].x = player.x; //XW͎@̒Sɍ킹
                            pba[i].y = player.y - player.i.Height / 2 - bulleti.Height / 2; //YW͎@̒ɍ킹
                            pba[i].vv = -5; //ړxݒ
                            waitpb = cold; //eˑ҂ԂZbg
                            break; //1甲
                        }
                    }
                }
            } else { //Xy[XL[ĂȂH
                waitpb = 0; //eˑ҂Ԃ[(ˉ\)ɂ
            }
        }
        if (waitenemy <= 0) { //G@o҂ԃ[(oˉ\)H
            for(int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
                if (enemya[i].v == 0) { //G@[i]\H
                    enemya[i].v = 1; //\ɂ
                    enemya[i].i = enemyi; //摜ݒ
                    enemya[i].x = player.x; //XW͎@̒Sɍ킹
                    enemya[i].y = -enemyi.Height; //YW͘gO
                    enemya[i].vv = 5; //ړxݒ
                    waitenemy = enemyint; //G@o҂ԂZbg
                    break; //1@o甲
                }
            }
        }
        for(int i = 0; i < maxpb; i++) { //SeɂČJԂ
            if (pba[i].v == 1) { //e[i]݂
                pba[i].i = (pba[i].i == bulleti) ? bullet2i : bulleti; //摜ݕύX
                pba[i].y += pba[i].vv; //YWɏړx𔽉f邱Ƃŏ㏸
                if (pba[i].y + bulleti.Height / 2 < 0) { //ʏ[ɏo
                    pba[i].v = 0; //e[i]
                }
            }
        }
        for(int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
            if (enemya[i].v == 1) { //G@[i]݂
                enemya[i].y += enemya[i].vv; //YWɉړx𔽉f邱Ƃŉ~
                if (enemya[i].y + bulleti.Height / 2 > backi.Height) { //ʉ[艺ɏo
                    enemya[i].v = 0; //G@[i]
                }
            }
        }
        if (waitpb > 0) { //eˑ҂ԂZbgĂ(҂)H
            waitpb--; //JEg_E
        }
        if (waitenemy > 0) { //G@o҂ԂZbgĂ(҂)H
            waitenemy--; //JEg_E
        }
        Invalidate(); //ʍĕ`˗
    }
    //RXgN^
    Program() { 
        DoubleBuffered = true; //_uobt@O̓
        KeyDown += new KeyEventHandler(OnKeyDown); //L[{[hꂽɌĂ΂郁\bho^
        timer.Tick += new EventHandler(Play); //^C}[Ă΂郁\bho^
        timer.Interval = 10; //^C}[̊Ԋu
    }
    static void Main() { //public̎w͔C
        Program f = new Program(); //ptH[̃CX^X𐶐
        f.Size = new Size(660, 520); //CX^XSizevpeBɍƕ
        f.Text = "Game"; //CX^XTextvpeBɃtH[
        f.ControlBox = false; //ControlBox\ɂ
        f.FormBorderStyle = FormBorderStyle.Fixed3D; //tH[TCYύX֎~
        Application.Run(f); //CX^Xʂɏo
    }
}



EL̉摜Ɖ_E[hĂ
@ ebullet.gif https://rundog.org/si/ebullet.gif
@ burn.gif https://rundog.org/si/burn.gif
@ meteo3.gif https://rundog.org/si/meteo3.gif
@Jn https://rundog.org/si/maou_se_onepoint30.wav
@I https://rundog.org/si/maou_se_onepoint29.wav
@U https://rundog.org/si/maou_se_battle12.wav
@ĔU https://rundog.org/si/maou_se_battle18.wav
@ʉҁFMaouDamashii(https://maou.audio/)

//V[eBOQ[JK ŏI
using System; //ėpIɗp
using System.Windows.Forms; //tH[AvP[VɕK{
using System.Drawing; //SizeAImagep
using System.Media; //SoundPlayerp
//sACe\\́t
struct Item {
    public Image i; //摜
    public int x;  //SXW
    public int y;  //SYW
    public int hv; //Ȇx(͕̐AE͐̐)
    public int vv; //㉺̑x(͕̐A͐̐)
    public int v;  //\(0F\A1`100F\A101`200FU)
}
//sQ[\NXt
class Program : Form { //FormNX̔hNX
    //s1. DLLC|[gƊO`wt
    [System.Runtime.InteropServices.DllImport("user32.dll")] //DLLC|[g
    private static extern short GetKeyState(int nVirtKey); //O`w
    //s2. f[^ot
    int gamemode = 0; //[h(0:^Cg,1:vC,9:I)
    int score = 0; //XRA
    int hiscore = 0; //nCXRA
    Image backi = Image.FromFile("backb.bmp"); //wi摜Ǎ
    Image playeri = Image.FromFile("player.gif"); //@ʏ摜Ǎ
    Image playerl = Image.FromFile("playerl.gif"); //@摜Ǎ
    Image playerr = Image.FromFile("playerr.gif"); //@E摜Ǎ
    Image bulleti = Image.FromFile("bullet.gif"); //e摜Ǎ
    Image bullet2i = Image.FromFile("bullet2.gif"); //e摜2Ǎ
    Image enemyi = Image.FromFile("enemy.gif"); //G@摜Ǎ
    Image enemybi = Image.FromFile("ebullet.gif"); //Ge摜Ǎ
    static Image burni = Image.FromFile("burn.gif"); //U摜Ǎ
    static Image meteoi = Image.FromFile("meteo3.gif"); //摜Ǎ
    Font font1 = new Font("CI", 20, FontStyle.Bold); //tHg𐶐
    Font fontt = new Font("CI", 80, FontStyle.Bold); //tHg𐶐
    Font fontm = new Font("CI", 25, FontStyle.Bold); //tHg𐶐
    Brush brushs = new SolidBrush(Color.Yellow); //F̃uV
    Pen burnp = new Pen(new TextureBrush(burni), 15); //UpeNX`uVɂ鑾15̃y
    Timer timer = new Timer(); //^C}[̐
    int backy = 0; //1ڂ̔wi`JnYW
    Item player; //@̍\̃IuWFNg
    const int maxpb = 10; //e̍ő吔
    Item[] pba = new Item[maxpb]; //e̍\̃IuWFNgz
    const int cold = 10; //e˂̗p
    int waitpb = 0; //e˂̑҂
    const int maxenemy = 20; //G@̍ő吔
    Item[] enemya = new Item[maxenemy]; //G@̍\̃IuWFNgz
    int waitenemy = 0; //G@̏o҂
    int enemyint = 50; //G@̏oԊu
    string hiscoremsg = "";  //nCXRAbZ[W
    Random rnd = new Random(); //pRandomNX̃CX^X𐶐
    int enemybint = 75; //GȅoԊu
    int waitenemyb = 200; //Gȅo҂
    const int maxenemyb = 20; //Ge̍ő吔
    Item[] enemyba = new Item[maxenemyb]; //Ge̍\̃IuWFNgz
    const int enemyvv = 5; //G@ړx
    SoundPlayer begins = new SoundPlayer("maou_se_onepoint30.wav"); //Jn̏
    SoundPlayer ends = new SoundPlayer("maou_se_onepoint29.wav"); //Ȉ
    SoundPlayer mhits = new SoundPlayer("maou_se_battle12.wav"); //Ȕ
    SoundPlayer hits = new SoundPlayer("maou_se_battle18.wav"); //ĔȔ
    //s3. tef[^Q[Jn̒lɂ
    void initData() {
        player.i = playeri;  //@̉摜
        player.x = 320; //@̒SXW
        player.y = 410; //@̒SYW
        player.hv = 0;  //@̍Ȇx
        player.v = 100;  //@\
        waitpb = 0; //e˂̑҂
        waitpb = 0; //e˂̑҂
        score = 0; //XRANA
        waitenemyb = 200; //Gȅo҂
        enemyint = 50; //G@̏oԊu
        enemybint = 75; //GȅoԊu
    }
    //s4. Wp摜`揈t
   private void DrawItem(PaintEventArgs e, Item it) {
        int xx = it.x - it.i.Width / 2; //XW𓾂
        int yy = it.y - it.i.Height / 2; //YW𓾂
        e.Graphics.DrawImage(it.i, xx, yy);
    }
    //s5. Wp摜`揈(kt)t
    private void DrawItem(PaintEventArgs e, Item it, int rate) {
        if (rate == 100) { //{H
            DrawItem(e, it); //ʏ`悷
        } else {
            int xx = it.x - it.i.Width * rate / 100 / 2; //XW𓾂
            int yy = it.y - it.i.Height * rate / 100 / 2; //YW𓾂
            e.Graphics.DrawImage(it.i, xx, yy, it.i.Width * rate / 100, it.i.Height * rate / 100);
        }
    }
    //s6. ȉ~`̏Փ˔t
    private bool isHit(Item a, Item b) { //ACeaƃACebՓ˂Ă邩ǂԂ
        int dest = (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y); //Q
        double ra = (a.i.Width < a.i.Height) ? a.i.Width / 2.0 : a.i.Height / 2.0; //aa
        double rb = (b.i.Width < b.i.Height) ? b.i.Width / 2.0 : b.i.Height / 2.0; //ab
        return dest < (ra + rb) * (ra + rb); //QƓa̘âQr
    }
    //s7. `揈tI[oCh
    protected override void OnPaint(PaintEventArgs e) {
        base.OnPaint(e); //{NX̕`揈Ă
        e.Graphics.DrawImage(backi, 0, backy); //wi摜`
        e.Graphics.DrawImage(backi, 0, backy - backi.Height); //wi摜`
        if (gamemode == 0) { //X^[gʁH
            e.Graphics.DrawString("GAME1", fontt, brushs, 100, 150); //^Cg\
            e.Graphics.DrawString("Hit Enter Key", fontm, brushs, 200, 300); //bZ[W\
        } else { //vCʂQ[I[o[ʁH
            string s = String.Format("SCORE:{0:000,000}", score); //XRA
            e.Graphics.DrawString(s, font1, brushs, 400, 10); //XRA\
            if (player.v != 0) { //@\H
                switch (player.hv) { //@̌ɂĕ
                    case 0: player.i = playeri; break; //ʏ摜ɂ
                    case -1: player.i = playerl; break; //摜ɂ
                    case 1: player.i = playerr; break; //E摜ɂ
                }
                DrawItem(e, player, player.v); //@{`
            }
            foreach (var pb in pba) { //SeɂČJԂ
                if (pb.v == 1) { //eH
                    DrawItem(e, pb); //e`
                }
            }
            foreach (var enemy in enemya) { //SG@ɂČJԂ
                if (enemy.v != 0) { //\H
                    DrawItem(e, enemy, enemy.v); //G@{`
                }
            }
            foreach (var enemyb in enemyba) { //SGeɂČJԂ
                if (enemyb.v == 1) { //GeH
                    DrawItem(e, enemyb); //Ge`
                } else if (enemyb.v >= 101) { //UH
                    int rr = (enemyb.v - 100) * 2; //U~̒a(2200)
                    e.Graphics.DrawEllipse(burnp, enemyb.x - (enemyb.v - 100), enemyb.y - (enemyb.v - 100), rr, rr); //U~`
                }
            }
        }
        if (gamemode == 9) { //Q[I[o[ʁH
            e.Graphics.DrawString("GAME OVER", fontm, brushs, 210, 150); //bZ[W\
            e.Graphics.DrawString(hiscoremsg, fontm, brushs, 150, 200); //nCXRAbZ[W\
            e.Graphics.DrawString("Hit Enter Key", fontm, brushs, 200, 300); //bZ[W\
        }
    }
    //s8. L[͎t
    void OnKeyDown(object o, KeyEventArgs e) {
        if (e.KeyCode.ToString() == "Escape") { //EscL[Ă
            Close(); //tH[I
        }
        //^CgʂEnterL[Ă
        if (gamemode == 0 && e.KeyCode.ToString() == "Return") {
            begins.Play(); //Jno
            initData(); //ef[^Q[Jn̒lɂ
            gamemode = 1; //vCɑJ
            timer.Start(); //^C}[Jn                  
        }
        //Q[I[o[ʂEnterL[Ă
        else if (gamemode == 9 && e.KeyCode.ToString() == "Return") {
            begins.Play(); //Jno
            initData(); //ef[^Q[Jn̒lɂ
            for (int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
                enemya[i].v = 0; //ɂ
            }
            for (int i = 0; i < maxpb; i++) { //SeɂČJԂ
                pba[i].v = 0; //ɂ
            }
            for (int i = 0; i < maxenemyb; i++) { //SGeɂČJԂ
                enemyba[i].v = 0; //ɂ
            }
            gamemode = 1; //vCɑJ
        }
        Invalidate(); //ʍĕ`˗
    }
    //s9. ^C}[Cxgt
    void Play(object o, EventArgs e) {
        //s9.1. wiʂ̃XN[
        backy = (backy + 1) % backi.Height; //1ڂ̔wi`JnYW
        //s9.2. @̌߂
        if (gamemode == 1) { //vCʁH
            player.hv = 0; //@̌𖳂ɂĂ
            if (player.x > playeri.Width / 2 && GetKeyState((int)Keys.Left) < 0) { //͈͓ŁL[ĂH
                player.x -= 10; //@
                player.hv = -1; //
            }
            if (player.x < backi.Width - playeri.Width / 2 && GetKeyState((int)Keys.Right) < 0) { //͈͓ŁL[ĂH
                player.x += 10; //@E
                player.hv = 1; //E
            }
        }
        //s9.3. G@Ǝ@EȅՓ
        for (int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
            if (enemya[i].v == 100) { //G@100%݁H
                if (player.v == 100 && isHit(enemya[i], player)) { //@100%݂ՓˁH 
                    GameOver(); //Q[I[o[ɂ
                    enemya[i].v = 99; //G@Jn
                    enemya[i].i = meteoi; //j摜ɂ 
                    break; //
                }
                for (int j = 0; j < maxpb; j++) { //SeɂČJԂ
                    if (pba[j].v != 0 && isHit(enemya[i], pba[j])) { //e݂ՓˁH
                        enemya[i].v = 99; //G@Jn
                        enemya[i].i = meteoi; //j摜ɂ 
                        pba[j].v = 0;  //̎e
                        if (gamemode == 1) { //vCʁH
                            score += 10; //XRAAbv
                        }
                        break; //̓G@֐i
                    }
                }
            }
        }
        //s9. 4 GeƎ@EȅՓ
        for (int i = 0; i < maxenemyb; i++) { //SGeɂČJԂ
            if (enemyba[i].v == 1) { //Ge݁H
                if (player.v == 100 && isHit(enemyba[i], player)) { //@݂GeƏՓˁH 
                    GameOver(); //Q[I[o[ɂ
                    enemyba[i].v = 0; //Ge
                    break; //
                }
                for (int j = 0; j < maxpb; j++) { //SeɂČJԂ
                    if (pba[j].v != 0 && isHit(enemyba[i], pba[j])) { //e݂GeƏՓˁH
                        enemyba[i].v = 101; //̓Ge𔚎UԂɂ
                        pba[j].v = 0;  //̎e
                        if (gamemode == 1) { //vCʁH
                            mhits.Play(); //o
                            score += 100; //XRAAbv
                        }
                        break; //̓Ge֐i
                    }
                }
            } else  if (enemyba[i].v >= 101) { //GeUԁH
                for (int j = 0; j < maxenemy; j++) { //SG@ɂČJԂ
                    if (enemya[j].v == 100) { //G@100%݁H
                        double d1 = Math.Pow(enemyba[i].x - enemya[j].x, 2) + Math.Pow(enemyba[i].y - enemya[j].y, 2); //S2
                        double d2 = Math.Pow(enemyba[i].v - 100 + enemyi.Width / 2, 2); //U~ƓG@a̘a2
                        if (d1 < d2) {  //G@U~H
                            enemya[j].v = 99; //G@Jn
                            enemya[j].i = meteoi; //j摜ɂ 
                            if (gamemode == 1) { //vCʁH
                                score += 10; //XRAAbv
                            }
                            break; //̓G@֐i
                        }
                    }
                }
                for (int j = 0; j < maxenemyb; j++) { //SGeɂČJԂ
                    if (enemyba[j].v == 1) { //Ge݁H
                        double d1 = Math.Pow(enemyba[i].x - enemyba[j].x, 2) + Math.Pow(enemyba[i].y - enemyba[j].y, 2); //S2
                        double d2 = Math.Pow(enemyba[i].v - 100 + enemybi.Width / 2, 2); //U~ƓGea̘a2
                        if (d1 < d2) {  //GeU~H
                            enemyba[j].v = 101; //GeUJn
                            if (gamemode == 1) { //vCʁH
                                hits.Play(); //o
                                score += 10; //XRAAbv
                            }
                            break; //̓Ge֐i
                        }
                    }
                }
            }
        }
        //s9.5 e
        if (gamemode == 1) { //vCʁH
            if (GetKeyState((int)Keys.Space) < 0) { //Xy[XL[ĂH
                if (waitpb <= 0) { //eˑ҂Ԃ[H
                    for (int i = 0; i < maxpb; i++) { //SeɂČJԂ
                        if (pba[i].v == 0) { //e\H
                            pba[i].v = 1; //\ɂ
                            pba[i].i = bulleti; //摜
                            pba[i].x = player.x; //XW͎@Ɠ
                            pba[i].y = player.y - player.i.Height / 2 - pba[i].i.Height / 2; //YW͎@̒
                            pba[i].vv = -5; //ړx
                            waitpb = cold; //eˑ҂ԂZbg
                            break; //1˂łOK
                        }
                    }
                }
            } else { //Xy[XL[ĂȂH
                waitpb = 0; //eˑ҂Ԃ[ɂĔˉ\ɂ
            }
        }
        //s9.6 G@o
        if (waitenemy <= 0) { //G@o҂Ԃ[H
            for (int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
                if (enemya[i].v == 0) { //G@\H
                    enemya[i].v = 100; //\100%ɂ
                    enemya[i].i = enemyi; //摜
                    enemya[i].x = enemyi.Width / 2 + rnd.Next(backi.Width - enemyi.Width); //XW̓_
                    enemya[i].y = -enemyi.Height; //YW͏[̒
                    enemya[i].vv = enemyvv; //ړx
                    waitenemy = enemyint; //G@o҂ԂZbg
                    break; //1@ołOK
                }
            }
        }
        //s9.7 Ge
        if (waitenemyb <= 0) { //Geo҂Ԃ[H
            int enemyi = -1; //˓G@
            for (int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
                if (enemya[i].v == 100 && enemya[i].y > 0 && enemya[i].y < backi.Height / 2) { //G@ʏ㔼ɂH
                    enemyi = i; //˓G@
                    break;
                }
            }
            if (enemyi != -1) { //˓G@ρH
                for (int i = 0; i < maxenemyb; i++) { //SGeɂČJԂ
                    if (enemyba[i].v == 0) { //Ge\H
                        enemyba[i].v = 1; //\ɂ
                        enemyba[i].i = enemybi; //摜
                        enemyba[i].x = enemya[enemyi].x; //XW͔˓G@Ɠ
                        enemyba[i].y = enemya[enemyi].y - 15; //YW͔˓G@15hbg
                        double rad = Math.Atan2(player.y - enemyba[i].y, player.x - enemyba[i].x); //px𓾂
                        enemyba[i].hv = (int)(Math.Cos(rad) * enemyvv * 1.5); //Xړ
                        enemyba[i].vv = (int)(Math.Sin(rad) * enemyvv * 1.5); //Yړ
                        waitenemyb = enemybint; //Geˑ҂ԂZbg
                        break; //1e˂łOK
                    }
                }
            }
        }
        //s9.8 eړ
        for (int i = 0; i < maxpb; i++) { //SeɂČJԂ
            if (pba[i].v != 0) { //e݁H
                pba[i].i = (pba[i].i == bulleti) ? bullet2i : bulleti; //摜ݕύX
                pba[i].y += pba[i].vv; //ֈړ
                if (pba[i].y + pba[i].i.Height / 2 < 0) { //ʏ[ɏo
                    pba[i].v = 0; //e
                }
            }
        }
        //s9.9 G@ړ
        for (int i = 0; i < maxenemy; i++) { //SG@ɂČJԂ
            if (enemya[i].v != 0) { //G@݁H
                if (enemya[i].v <= 99) { //H 
                    enemya[i].v--; //
                }
                enemya[i].y += enemya[i].vv; //ֈړ
                if (enemya[i].y - enemya[i].i.Height / 2 > backi.Height) { //ʉ[艺ɏo
                    enemya[i].v = 0; //G@
                }
            }
        }
        //s9.10 GeړEU
        for (int i = 0; i < maxenemyb; i++) { //SGeɂČJԂ
            if (enemyba[i].v == 1) { //Ge݁H
                enemyba[i].x += (int)enemyba[i].hv; //XWύX
                enemyba[i].y += (int)enemyba[i].vv; //YWύX
                if (enemyba[i].x < -enemybi.Width / 2 ||
                    enemyba[i].x - enemybi.Width / 2 > backi.Width ||
                    enemyba[i].y < -enemybi.Height / 2 ||
                    enemyba[i].y - enemybi.Height / 2 > backi.Height) { //ʒ[Oɏo
                    enemyba[i].v = 0; //Ge
                }
            } else if (enemyba[i].v >= 101) { //UH
                enemyba[i].v = (enemyba[i].v <= 200) ? enemyba[i].v + 1 : 0; //200܂ŃJEgAbv0ɂ
            }
        }
        //s9.11 ҂ԃJEgE{EG@GȅoԊũ_EEʍĕ`
        if (waitpb > 0) { //eˑ҂ԂZbgĂ
            waitpb--; //JEg_E
        }
        if (waitenemy > 0) { //G@o҂ԂZbgĂ
            waitenemy--; //JEg_E
        }
        if (waitenemyb > 0) { //Geo҂ԂZbgĂ
            waitenemyb--; //JEg_E
        }
        if (gamemode == 9 && player.v > 0 && player.v < 100) {  //Q[I[o[Ŏ@kH
            player.v--; //@`{_E
        }
        if (enemyint > 10) { //G@̏oԊu10Ȃ
           enemyint = 50 - score / 100; //XRA100G@̏oԊu獷
        }
        if (enemybint > 15) { //GȅoԊu15Ȃ
            enemybint = 75 - score / 100; //XRA100GȅoԊu獷
        }
        Invalidate(); //ʍĕ`˗
    }
    //s10. Q[I[o[ɂt
    private void GameOver() {
        player.v = 99; //@̗Jn
        gamemode = 9; //Q[I[o[ɂ
        ends.Play(); //Io
        if (score > hiscore) { //nCXRAXVH
            hiscore = score; //nCXRAXV
            hiscoremsg = "HiSCORE Update !"; //bZ[W
        } else {
            hiscoremsg = String.Format("HiSCORE is {0:000,000}", hiscore); //XRA
        }
    }
    //s11. RXgN^t
    Program() {
        ClientSize = new Size(640, 480); //Q[p`GȂ傫w
        DoubleBuffered = true; //_uobt@OL
        KeyDown += new KeyEventHandler(OnKeyDown); //L[̓Cxgo^
        timer.Tick += new EventHandler(Play); //^C}[Cxgo^
        timer.Interval = 10; //^C}[C^[o(~b)
        begins.Load();   //Jñ[h
        ends.Load();  //Ĩ[h
        mhits.Load();  //Ũ[h
        hits.Load();  //ĔŨ[h
    }
    //s12. Maint
    public static void Main() {
        Program f = new Program(); //̃IuWFNg𐶐
        f.Text = "Game"; //tH[ݒ
        f.ControlBox = false; //Rg[{bNX\
        f.FormBorderStyle = FormBorderStyle.Fixed3D; //TCYύX}~
        Application.Run(f); //tH[o
    }
}

ǉF
http://ha231.rundog.org/wp-content/uploads/2024/03/e126815937b7256e614b37abc88986e1.zip
